package echecs.launch;

import java.awt.Color;
import java.awt.Image;

public interface ChessInterface {

    final int PAWN = 1;
    final int KNIGHT = 2;
    final int BISHOP = 3;
    final int ROOK = 4;
    final int QUEEN = 5;
    final int KING = 6;
    final int WHITE = 1;
    final static String[] NomPiecesBlanches = {"P", "C", "F", "T", "Q", "R"};
    final static String[] NomPiecesNoires = {"p", "c", "f", "t", "d", "r"};
    final static int[] deplacementKnight = {12, -12, +21, -21, +19, -19, +8, -8};
    final static int[] deplacementBishop = {-9, -11, +9, +11};
    final static int[] deplacementRook = {-10, 10, -1, 1};
    final static int[] deplacementKing = {-9, -11, +9, +11, -10, 10, -1, 1};
    //The intern representation of the chessboard
    int[] board = new int[120];
    //a second board for the graphic
    int[] graphboard = new int[120];
    Color dunkel = new Color(0x999999);
    Color hell = new Color(0xFFFFCC);
    Color red = new Color(0xCC0000);
    Color green = new Color(0x009900);
    Color blue = new Color(0x000099);
    //the piece images
    Image[] pieces = new Image[18];
    //variables for Drag&Drop
    //y coordinate
    int[] movelist = new int[250];  	//valid move control   
    float minimax[] = new float[10];
    public static float alphabeta[] = new float[10];	//Alpha Beta

//    void newgame();
    void enter(String fenPosition);

    void execute(int start, int end);

    float evaluation();

    boolean ischeck();

    void genmove();

    boolean ishHumanMoveValid(int move);

    void multisimulize(int start, int inc);

    void simulize(int start, int end);

    void alphabeta(int start, int end);
}
